export interface Homework {
  id: string
  courseId: string
  title: string
  description: string
  instructions?: string
  attachmentUrl?: string
  deadline: Date
  maxScore: number
  type: 'ASSIGNMENT' | 'QUIZ' | 'PROJECT'
  status: 'ACTIVE' | 'CLOSED'
}

export interface HomeworkSubmission {
  id: string
  homeworkId: string
  studentId: string
  courseId: string
  submissionDate: Date
  submissionType: 'FILE' | 'TEXT'
  submissionUrl?: string
  submissionText?: string
  status: 'PENDING' | 'SUBMITTED' | 'LATE' | 'GRADED'
  grade?: number
  maxScore: number
  feedback?: string
  gradedAt?: Date
  gradedBy?: {
    id: string
    name: string
  }
}

export interface HomeworkStatistics {
  totalSubmissions: number
  submittedOnTime: number
  lateSubmissions: number
  averageScore: number
  highestScore: number
  lowestScore: number
}

export interface HomeworkFilter {
  courseId?: string
  status?: 'ACTIVE' | 'CLOSED'
  studentId?: string
  submissionStatus?: 'PENDING' | 'SUBMITTED' | 'LATE' | 'GRADED'
}
